﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL.Entity;

namespace DAL.Persistencia
{
    public class CambioDAL
    {

        private NewTierraEntities Con;

        public CambioDAL()
        {
            Con = new NewTierraEntities();
        }

        //public Cambio ObterPorIdMoedaPara(int IdMoedaPara)
        //{
        //    try
        //    {
        //        return Con.Cambio.Where(m => m.MoedaID_Para == IdMoedaPara).SingleOrDefault();
        //    }
        //    catch
        //    {
        //        throw;
        //    }
        //}

        public Cambio ObterPorIdMoedaPara(int IdMoedaDe, int IdMoedaPara)
        {
            try
            {
                return Con.Cambio.Where(m => m.MoedaID_Para == IdMoedaPara && m.MoedaID_De == IdMoedaDe).OrderByDescending(m => m.data).SingleOrDefault();
            }
            catch
            {
                throw;
            }
        }


        public Cambio ObterPorId(int id)
        {
            try
            {
                return Con.Cambio.Where(m => m.Cambio_id == id).SingleOrDefault();
            }
            catch
            {
                throw;
            }
        }





        public List<Cambio> pesquisarTodos()
        {
            try
            {
                return Con.Cambio.OrderByDescending(c => c.data).ToList();
            }
            catch
            {
                throw;
            }
        }


        public void incluir(Cambio c)
        {

            try
            {
                Con.AddToCambio(c);
                Con.SaveChanges();
            }
            catch (Exception)
            {
                
                throw;
            }

        }

        public void excluir(Cambio c)
        {

            try
            {
                Con.DeleteObject(c);
                Con.SaveChanges();

            }
            catch (Exception)
            {
                
                throw;
            }

        }


        public void alterar(Cambio novo)
        {


            try
            {

                Cambio velho = ObterPorId(novo.Cambio_id);

                velho.data = novo.data;
                velho.MoedaID_De = novo.MoedaID_De;
                velho.MoedaID_Para = novo.MoedaID_Para;
                velho.tipoCambio = novo.tipoCambio;
                velho.Cambio1 = novo.Cambio1;

                Con.SaveChanges();

            }
            catch (Exception)
            {
                
                throw;
            }

        }


    }
}
